2350. Above Average

 

It is said that 90% of frosh expect to be above average in their class. You are to provide a reality check.

 

Input. The first line of standard input contains an integer c, the number of test cases. c data sets follow. Each data set begins with the number of people in the class n (1 ≤ n ≤ 1000). n integers follow, separated by spaces or newlines, each giving the final grade (an integer between 0 and 100) of a student in the class.

 

Output. For each case you are to output a line giving the percentage of students whose grade is above average, rounded to 3 decimal places.

 

Sample input

Sample output

5

5 50 50 70 80 100

7 100 95 90 80 70 60 50

3 70 90 80

3 70 90 81

9 100 99 98 97 96 95 94 93 91

40.000%

57.143%

33.333%

66.667%

55.556%

 

 

РЕШЕНИЕ

циклы

 

Анализ алгоритма

Для каждого теста вычисляем средний арифметический бал студентов. Потом вычисляем, сколько студентов получило бал выше среднего. Выводим процент студентов, чей бал выше среднего.

 

Реализация алгоритма

 

#include <stdio.h>

 

int tests, i, n, c;

int a[1000];

double average, res;

 

int main(void)

{

  scanf("%d",&tests);

  while(tests--)

  {

    scanf("%d",&n); average = 0;

    for(i = 0; i < n; i++)

    {

      scanf("%d",&a[i]);

      average += a[i];

    }

 

    average /= n; c = 0;

 

    for(i = 0; i < n; i++)

      if (a[i] > average) c++;

 

    res = 100.0 * c / n;

    printf("%.3lf%%\n",res);

  }

  return 0;

}